package com.smartthinking.dive;


import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Dictionary;
import java.util.Hashtable;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ProgressBar;


public class Busqueda_Anunciantes extends Activity {

	public ListView listView1;
	String[] datos,datos1,datos2;
	ProgressBar progres;
	Button categoria, subcategoria, ciudad, btncategoria,  btnsubcategoria, btnciudad, btnveterinaria;
	EditText veterinaria;
	String cat, cat1, cat2;
	int var, cat_cve = 0, edo_cve=0, sub_cve=0, position;
	int anun=0;
	TextView limpiar1;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.busqueda_anunciantes);

		progres = (ProgressBar) findViewById(R.id.progressBar4);
		categoria = (Button) findViewById(R.id.btnCategoria);
		subcategoria = (Button) findViewById(R.id.btnSubcategoria);
		ciudad = (Button) findViewById(R.id.btnCiudad);
		veterinaria = (EditText) findViewById(R.id.btnempresa);
		btncategoria = (Button) findViewById(R.id.Button02);
		btnsubcategoria = (Button) findViewById(R.id.Button03);
		btnciudad = (Button) findViewById(R.id.btncontacto);
		btnveterinaria = (Button) findViewById(R.id.Button01);
		limpiar1 = (TextView) findViewById(R.id.textViewlimpiar);
		
		
		limpiar1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				veterinaria.setText("");
				categoria.setText("Categoria");
				cat_cve=0;
				sub_cve=0;
				subcategoria.setText("Subcategoria");
				sub_cve=0;
				ciudad.setText("Estado");
				edo_cve=0;
			}
		});
		
		btnveterinaria.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				veterinaria.setText("");
			}
		});
		
		
		btncategoria.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				categoria.setText("Categoria");
				cat_cve=0;
				sub_cve=0;
			}
		});
		
		btnsubcategoria.setOnClickListener(new OnClickListener() {
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				subcategoria.setText("Subcategoria");
				sub_cve=0;
			}
		});
		
		
		btnciudad.setOnClickListener(new OnClickListener() {
			public void onClick(View arg0) {
				// TODO Auto-generated method stub
				ciudad.setText("Estado");
				edo_cve=0;
			}
		});
		
	}
	
	
	public void BotonCategoria(View view) {
		anun=1;
		new AsyncBusquedaAnunciantes().execute();
	}

	
	public void BotonSubcategoria(View view){
		anun=2;
		new AsyncBusquedaAnunciantes().execute();
	}

	
	public void BotonCiudad(View view) {
		anun=3;
		new AsyncBusquedaAnunciantes().execute();
	}
	
	
	public void BtnBuscar(View view) {
//		if((veterinaria.getText().toString().equals("")|(categoria.getText().toString().equals("")
//				|(ciudad.getText().toString().equals(""))|(subcategoria.getText().toString().equals(""))))){
//			
//			AlertDialog.Builder builder = new AlertDialog.Builder(this);
//			 
//		    builder.setTitle("Aviso");
//		    builder.setMessage("Datos faltantes");
//		    builder.setPositiveButton("Aceptar", new DialogInterface.OnClickListener() {
//		        public void onClick(DialogInterface dialog, int which) {
//		            dialog.cancel();
//		        }
//		    });
//		    AlertDialog alertDialog = builder.create();
//		    alertDialog.show();
//		    }else{
		Intent intent = new Intent(Busqueda_Anunciantes.this,Anunciantes.class);
//		intent.putExtra("query1","select * from pois where cat_cve = "+cat_cve+" and upper(poi_nombre) like upper('%%'"+veterinaria.getText().toString()+"'%%') order by poi_nombre");
		intent.putExtra("query2", ""+cat_cve);
		intent.putExtra("query3", ""+edo_cve);
		intent.putExtra("query4", ""+sub_cve);
		intent.putExtra("query5", ""+veterinaria.getText().toString());
		intent.putExtra("tipo", "1");
		startActivity(intent);
//		    }
	}

	public void BtnVerTodos(View view) {

		Intent intent = new Intent(Busqueda_Anunciantes.this,Anunciantes.class);
//		intent.putExtra("query1","select * from pois");
		intent.putExtra("tipo", "2");
		startActivity(intent);
		
	}
	
	
	
	public class AsyncBusquedaAnunciantes extends AsyncTask<Void, Integer, Void>{
		
		ArrayList<Dictionary<String, String> > listaCategoria = null;
		ArrayList<Dictionary<String, String> > listaSubcategoria = null;
		ArrayList<Dictionary<String, String> > listaCiudad = null;
		int flig=0;
		
		protected void onPreExecute() {
			progres.setVisibility(View.VISIBLE);
			super.onPreExecute();
		}
		
		
		
		@Override
		protected Void doInBackground(Void... arg0) {

			if(anun==1){
				
				String url="select * from categorias order by cat_des";
				listaCategoria = Utilities.qry2(getApplicationContext(),url);
//				cat_cve = Integer.parseInt(listaCategoria.get(0).get("cat_cve"));
				Dictionary<String, String>  dictionary1 = new Hashtable<String, String>();
				dictionary1.put("cat_des", "--TODOS--");
				dictionary1.put("cat_cve", "0");
				listaCategoria.add(0, dictionary1);
				flig=1;
				
//				String url2="select * from subcategorias where cat_cve = "+cat_cve+" order by sub_des";
//				listaSubcategoria = Utilities.qry2(getApplicationContext(),url2);
//				Dictionary<String, String>  dictionary1 = new Hashtable<String, String>();
//				dictionary1.put("sub_des", "--TODOS--");
//				dictionary1.put("sub_cve", "0");
//				if(listaSubcategoria.size()>0){
////					sub_cve = Integer.parseInt(listaSubcategoria.get(0).get("sub_cve"));
//				}
				
//				flig=3;
			}
			
			
			if(anun==3){
				
				String url1="select * from estado order by edo_des";
				listaCiudad = Utilities.qry2(getApplicationContext(),url1);
				Dictionary<String, String>  dictionary = new Hashtable<String, String>();
				dictionary.put("edo_des", "--TODOS--");
				dictionary.put("edo_cve", "0");

				listaCiudad.add(0, dictionary);
				
//				edo_cve = Integer.parseInt(listaCiudad.get(0).get("edo_cve"));
				flig=2;
				
			}
			
			
			if(anun==2){
				
				String url2="select * from subcategorias where cat_cve = "+cat_cve+" order by sub_des";
				listaSubcategoria = Utilities.qry2(getApplicationContext(),url2);
				Dictionary<String, String>  dictionary2 = new Hashtable<String, String>();
				dictionary2.put("sub_des", "--TODOS--");
				dictionary2.put("sub_cve", "0");
				listaSubcategoria.add(0, dictionary2);
//				sub_cve = Integer.parseInt(listaSubcategoria.get(0).get("sub_cve"));
				flig=3;
				
			}
			
			
			return null;
		}
		
		
		
		
		protected void onPostExecute(Void result) {
			
			progres.setVisibility(View.INVISIBLE);
			super.onPostExecute(result);
			
			if(flig==1){
				
				datos = new String[listaCategoria.size()];

				for(int i=0; i<listaCategoria.size(); i++){
					datos[i] = listaCategoria.get(i).get("cat_des");
				}
				
				final Dialog dialog = new Dialog(Busqueda_Anunciantes.this);
				dialog.setContentView(R.layout.lista_empresa);
				dialog.setTitle("Selecciona una categoria:");


				ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Anunciantes.this,
						android.R.layout.simple_list_item_1, datos);


				listView1 = (ListView)dialog.findViewById(R.id.listViewempresa);

				listView1.setAdapter(adaptador);


				listView1.setOnItemClickListener(new OnItemClickListener() {
					@Override
					public void onItemClick(AdapterView<?> a, View v, int position,
							long id) {
						cat_cve = Integer.parseInt(listaCategoria.get(position).get("cat_cve"));
						categoria.setText(datos[position]+ "");
						dialog.dismiss();
//						cat = listaCategoria.get(0).get("cat_cve");

					}
				});
				dialog.show();
			}
			
			
			
			if(flig==2){
				
				datos = new String[listaCiudad.size()];
				
				for(int i=0; i<listaCiudad.size(); i++){
					datos[i] = listaCiudad.get(i).get("edo_des");
				}
				
				final Dialog dialog = new Dialog(Busqueda_Anunciantes.this);
				dialog.setContentView(R.layout.lista_empresa);
				dialog.setTitle("Selecciona una ciudad:");


				ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Anunciantes.this,
						android.R.layout.simple_list_item_1, datos);


				listView1 = (ListView)dialog.findViewById(R.id.listViewempresa);

				listView1.setAdapter(adaptador);

				listView1.setOnItemClickListener(new OnItemClickListener() {
					@Override
					public void onItemClick(AdapterView<?> a, View v, int position,
							long id) {
						edo_cve = Integer.parseInt(listaCiudad.get(position).get("edo_cve"));
						ciudad.setText(datos[position]+ "");
						dialog.dismiss();
//						cat2 = listaCiudad.get(0).get("edo_cve");
					}
				});
				dialog.show();
				
			}
			
			
			
			
			if(flig==3){
				if(listaSubcategoria.size()== 0){
					
					AlertDialog.Builder builder = new AlertDialog.Builder(Busqueda_Anunciantes.this);
					 
				    builder.setTitle("Aviso");
				    builder.setMessage("Debe elegir primero la CATEGORIA");
				    builder.setPositiveButton("Aceptar", new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialog, int which) {
				            dialog.cancel();
				            }
				    });
				    AlertDialog alertDialog = builder.create();
				    alertDialog.show();
				    
				}else{
				
				datos = new String[listaSubcategoria.size()];
				
				for(int i=0; i<listaSubcategoria.size(); i++){
					datos[i] = listaSubcategoria.get(i).get("sub_des");
				}
				
				final Dialog dialog = new Dialog(Busqueda_Anunciantes.this);
				dialog.setContentView(R.layout.lista_empresa);
				dialog.setTitle("Selecciona una subcategoria:");

				Arrays.sort(datos, 0, datos.length, Collator.getInstance());

				ArrayAdapter<String> adaptador = new ArrayAdapter<String>(Busqueda_Anunciantes.this,
						android.R.layout.simple_list_item_1, datos);

				listView1 = (ListView)dialog.findViewById(R.id.listViewempresa);

				listView1.setAdapter(adaptador);

				listView1.setOnItemClickListener(new OnItemClickListener() {
					@Override
					public void onItemClick(AdapterView<?> a, View v, int position,
							long id) {
						sub_cve = Integer.parseInt(listaSubcategoria.get(position).get("sub_cve"));
						subcategoria.setText(datos[position]+ "");
						dialog.dismiss();
//						cat1 = listaSubcategoria.get(0).get("sub_cve");
					}
				});
				dialog.show();
				
				}

//			        // 3. Create your adapter
//			        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
//			                android.R.layout.simple_list_item_1, datos);

			        // 4. Create a Sectionizer
			        

			        // 6. Set the adapter to your ListView
			       
			}
			
		}
	}
	
}

